#include <bits/stdc++.h>
using namespace std;
#define int long long

void solve() {
    int n, m;
    cin >> n >> m;
    vector<int> a(n), b(m);
    for(int i = 0; i < n; i++) cin >> a[i];
    for(int i = 0; i < m; i++) cin >> b[i];
    sort(b.begin(), b.end());
    a[n - 1] = max(a[n - 1], b[m - 1] - a[n - 1]);
    auto func = [&](int x)->int {
        int l = 0, r = m - 1;
        while(l < r) {
            int mid = l + r + 1 >> 1;
            if(b[mid] <= x) l = mid;
            else r = mid - 1;
        }
        if(b[l] > x) return -1;
        return b[l];
    };
    for(int i = n - 2; i >= 0; i--) {
        int t = a[i] + a[i + 1];
        int p = func(t);
        if(p == -1 && a[i] > a[i + 1]) {
            cout << "NO\n";
            return;
        }
        if(a[i] <= a[i + 1]) a[i] = max(a[i], p - a[i]);
        else a[i] = p - a[i];
        if(a[i] > a[i + 1]) {
            cout << "NO\n";
            return;
        }
    }
    cout << "YES\n";
}

signed main() {
    int t; cin >> t;
    while(t--) {
        solve();
    }
    return 0;
}
